package io.mya.app.user.service;

import java.util.List;
import java.util.Map;

import io.mya.app.user.entity.UserQuotationEntity;
import io.mya.modules.customer.entity.CustomerEntity;

/**
 * 用户注册通用service 包括增删改查 使用到用户数据的全在此service调用方法
 * @author shican
 * @date 2018年3月29日
 * 1208296327@qq.com
 */
public interface AppUserService {
	/**
	 * 根据邮箱查找用户
	 * @param registerMail
	 * @return
	 */
	CustomerEntity queryUserByEmail(String registerMail);
	/**
	 * 注册用户增加用户的方法 参数是用户的实体类信息
	 * @param entity
	 */
	void save(CustomerEntity entity);
	/**
	 * 根据邀请码查询用户id
	 * @param invitecode
	 * @return
	 */
	Long queryUserByCode(String invitecode);
	/**
	 * 根据用户id查询用户
	 * @param id
	 * @return
	 */
	CustomerEntity queryUserById(Long id);
	/**
	 * 修改用户
	 * @param customerEntity
	 */
	void update(CustomerEntity customerEntity);
	/**
	 * 给用户上级返糖果币
	 * @param map
	 */
	void addCandyCount(Map<String, Object> map);
	/**
	 * 登入用的方法 
	 * @param email
	 * @return
	 */
	CustomerEntity queryUserByEmailToLogin(String email);
	/**
	 * 查询用户选择的行情
	 * @param id
	 * @return
	 */
	List<UserQuotationEntity> selectQuotation(Long id);
	/**
	 * 增加用户勾选的行情设置
	 * @param quotationEntity
	 */
	void addseting(UserQuotationEntity quotationEntity);
	/**
	 * 根据行情名字和行情模块以及用户id删除行情
	 * @param quotationEntity
	 */
	void delesetting(UserQuotationEntity quotationEntity);
	/**
	 * 查询用户选择的行情并且根据sort排序
	 * @param id
	 * @return
	 */
	List<UserQuotationEntity> queryselect(Long id);
	/**
	 * 设置排序
	 * @param list
	 */
	void sortsetting(List<UserQuotationEntity> list);

}
